iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0

「如果 SOLID 原則告訴我們的是如何將磚塊安排到牆壁和房間中,那麼元件原則就是告訴我們,如何將房間安排到建築物之中」

取自: Clean Architecture (p.79)

CH12: 元件 (Component)

發展 50 年的成果...

元件簡史

  • Linker
  • Loader
  • Plugin

[補充]: 元件原則/打包原則 (Component Principles/Package Principles)

關於....

  • 內聚性 (Cohesion)
    • The Reuse/Release Equivalence Principle (REP)

      ...

    • The Common Reuse Principle (CRP)

      ...

    • The Common Closure Principle (CCP)

      ...

  • 耦合性 (Coupling)
    • The Acyclic Dependencies Principle (ADP)

      ...

    • The Stable-Dependency Principle (SDP)

      ...

    • The Stable-Abstractions Principle (SAP)

      ...


CH13: 元件內聚性 (Component Cohesion)

「我們曾經認為內聚性就是『一個模組只能執行一個功能』如此的屬性罷了。然而,在選擇類別(Class)組合成元件時,必須考慮到涉及可重用性可發展性的相對力量」

取自: Clean Architecture (p.94)

元件內聚性的張力圖 (The Triad of Component Principles)

一般來說...
選擇 & 取捨...


Reuse / Release Equivalence Principle (REP)

「」

原文: "The granule of reuse is the granule of release"

取自:

...


Common Closure Principle (CCP)

「」

原文: "The classes in a package are reused together. If you reuse one of the classes in a package, you reuse them all"

取自:

...


Common Reuse Principle (CRP)

「」

原文: "The classes in a package should be closed together against the same kinds of changes. A change that affects a package affects all the classes in that package and no other packages"

取自:

...


Reference

元件內聚性 Component Cohesion
細談元件內聚性
Clean Architecture - Examples for "The Triad of Component Principles"
Clean Architecture -> PART IV: Component Principles
4.1. Principles of Package Design
Package principles


上一篇
Day 21: SOLID 設計原則 — DIP (待改進中... )
下一篇
Day 23: 元件原則 — 耦合性 (待改進中... )
系列文
成為乾淨的開發者吧! Clean Code, Clean Coder, Clean Architecture 導讀之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言